package com.softwareengineering.trafficapplicationv2;
import android.graphics.Color;

/**
 * This file is part of the Traffic Simulation Application.
 * The Traffic Simulation Application is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * The Traffic Simulation Application is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with the Traffic Simulation Application.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * @file BCCar.java
 * @author (c) Martin Treiber, http://traffic-simulation.de/
 * @alterations David Black, Chris Nelson, and Garrett Stibbs, (c) December 03, 2012
 * 
 */

public class BCCar implements Moveable {

	@SuppressWarnings("unused")
	private int color=Color.RED;
	private int lane=0;
	private double length;
	private MicroModel model;
	private double pos;
	private double vel=10.0;

	public BCCar (double x, double v, int lane, MicroModel model,
			double length){
		pos=x;
		vel=v;
		this.lane=lane;
		this.model=model;
		this.length=length;
	}

	public void accelerate(double dt, Moveable vwd){}
	
	public double acceleration(Moveable vwd){return 0.0;}
	
	public boolean change(Moveable fOld, Moveable fNew, Moveable bNew){
		return false;
	}
	
	public int color(){return Color.WHITE;}
	
	public double dAcc(Moveable vwd, Moveable bwd){
		return 0.0;}
	
	public int lane(){return lane;}
	
	public double length(){return length;}
	
	public MicroModel model(){return model;}

	public int NR(){return 0;}
	
	public double position(){return pos;}
	
	public double realLane(){return lane;}
	
	public void setColor(int color){this.color=color;}
	
	public void setLane(int lane){this.lane=lane;}
	
	public void setLaneChange(LaneChange lanechange){}
	
	public void setLaneLast(int lane){this.lane=lane;}
	
	public void setLength(double length){this.length=length;}

	public void setModel(MicroModel model){this.model=model;}

	public void setPosition(double x){pos=x;}

	public void setVelocity(double v){vel=v;}
	
	public boolean timeToChange(double dt){return false;}
	
	public void translate(double dt){}
	
	public double velocity(){return vel;}

}
